Note: This tutorial assumes that you have completed the previous tutorials: Basics. |
Please ask about problems and questions regarding this tutorial on answers.ros.org. Don't forget to include in your question the link to this page, the versions of your OS & ROS, and also add appropriate tags. |
Communication Handler
Description: Details on the Communication Handler NodeKeywords: qbrobotics SoftHand qbmove control
Tutorial Level: BEGINNER
Next Tutorial: Control
The Communication Handler Node has no parameters to be set, therefore it is always launched like this:
roslaunch qb_device_driver communication_handler.launch
On start, it scans the serial communication resources connected to you system and shows a list of the devices it has found. By default it never scans again for new devices, apart from asking it explicitly during the initialization of a control Node.
This is a simple example when starting the Communication Handler with two qbroboticsĀ® devices connected on two distinct USB ports:
[ INFO] [1524044523.511369300]: [CommunicationHandler] handles [/dev/ttyUSB1]. [ INFO] [1524044524.426984697]: [CommunicationHandler] handles [/dev/ttyUSB0]. [ INFO] [1524044525.218613760]: [CommunicationHandler] has found [2] devices connected: [ INFO] [1524044525.218696997]: - device [1] connected through [/dev/ttyUSB0] [ INFO] [1524044525.218736612]: - device [2] connected through [/dev/ttyUSB1]
When the Communication Handler is on, it provides all the Services required to interact with the connected devices: e.g. get info or measurements, activate or deactivate motors, set commands, and even more... A detailed description of the services can be found in the qb_device_driver package wiki.